package com.xywy.start;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.xywy.R;
import com.xywy.common.BaseActivity;
import com.xywy.common.FragmentMainActivity;
import com.xywy.common.constants.ConstantValue;
import com.xywy.common.constants.ResultCode;
import com.xywy.common.net.AsyncHttpClient;
import com.xywy.common.net.OnResultListenerAdapter;
import com.xywy.common.net.Parser;
import com.xywy.common.util.MLog;
import com.xywy.common.widget.MyProgress;
import com.xywy.common.widget.TitleBar2;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;

/**
 *  会员登陆 - 切换账户 - 登陆
 * @author xiaogd
 *
 */
public class LoginSwitch2Activity extends BaseActivity  {
    private Context    mContext;
    private EditText   etMobile;
    private ImageView  imgCancel;
    private Button     btnSendCode;

    @Override
    protected void onCreate(Bundle savedInstanceState)  
    {
    	super.onCreate(savedInstanceState);    
        //设置为全屏
        requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.start_login_switch2);

        this.preInit();
        this.initView();
        this.loadData();
        this.setListener();
    }

    @Override
    protected void onResume() {
        super.onResume();

    }

    @Override
    protected void onPause() {
        super.onPause();

    }

    @Override
    public void preInit() {
        mContext = this.context;
    }

    @Override
    public void loadData() {

    }

    @Override
    public void initView() {
        //title
        TitleBar2 titleBar = (TitleBar2)findViewById(R.id.start_login_switch2_title_bar);
        TextView  tvTitle = titleBar.getTitle();
        titleBar.onClickBack(this);
        tvTitle.setText(getString(R.string.tv_start_switch2_title));
        titleBar.getGo().setVisibility(View.INVISIBLE);

        etMobile = (EditText)findViewById(R.id.et_start_switch2_mobile);
        imgCancel  = (ImageView)findViewById(R.id.iv_start_switch2_mobile_cancel );
        btnSendCode = (Button)findViewById(R.id.btn_start_switch2_sendcode);
    }

    private void setListener(){
        etMobile.addTextChangedListener(mTextWatcher);
    }

    boolean mFlag = false;
    TextWatcher  mTextWatcher = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {}
        @Override
        public void onTextChanged(CharSequence s, int start, int before,     int count) {}
        @Override
        public void afterTextChanged(Editable editable) {
            if(editable.length()>0){
                imgCancel.setVisibility(View.VISIBLE);
                mFlag = true;
                if(mFlag){
                    btnSendCode.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_button));
                    btnSendCode.setClickable(true);
                }
            }else{
                imgCancel.setVisibility(View.INVISIBLE);
                mFlag = false;
                btnSendCode.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_button_bgwhite));
                btnSendCode.setClickable(false);
            }
        }
    };

    /**
     * 进行验证,发送网络请求
     */
    private void  sendCode(){
        boolean flag =false;
        if(etMobile.getText().toString() == null || etMobile.getText().toString().length()==0){
            Toast.makeText(mContext, getString(R.string.me_mobile_not_null), Toast.LENGTH_LONG).show();
            flag =true;
            return;
        }
        if(!flag){   //提交数据
            this.sendMsg();
        }
    }

    public void loginOnClick(View view){
        switch (view.getId()){
            case  R.id.iv_start_switch2_mobile_cancel:
                etMobile.setText("");
             break;
            case R.id.btn_start_switch2_sendcode:
                sendCode();
                break;
        }
    }

    MyProgress  myProgress;
    /**
     * 返回
     */
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            MLog.i(TAG, "back:" + msg.obj + "resuletCode:" + msg.arg1);
            myProgress.stop();

            if(msg.arg1== ResultCode.SUCCESS){
                //页面跳转
                Intent intent =new Intent(mContext,ValidateCodeActivity.class);
                intent.putExtra("mobile",etMobile.getText().toString());
                intent.putExtra("target", ConstantValue.VALLOGIN);
                startActivity(intent);
            }else{
                Toast.makeText(mContext,getString(R.string.common_fail),Toast.LENGTH_LONG).show();
            }

        }
    };

    //封装Parser参数
    private Parser paramsParser;
    //封装httpclient参数
    private HashMap<String, Object> params;
    //异步加载
    private AsyncHttpClient asyncHttpClient;

    //处理网络请求
    public void sendMsg( ) {
        myProgress = new MyProgress(this,10);
        myProgress.start();
        paramsParser = new Parser();

        //封装参数
        params = new HashMap<String, Object>();

        //请求路径
        paramsParser.action = getString(R.string.validate_sendCode);
        //请求方式
        paramsParser.request = "get";

        //请求参数
        params.put("target",etMobile.getText().toString() );
        params.put("type", 1);   //短信登录前的验证提示

        paramsParser.map = params;
        //传递上下文
        paramsParser.context = this.context;

        asyncHttpClient = AsyncHttpClient.getInstance();
        asyncHttpClient.exeute(paramsParser,onResultListenerAdapter);
    }


    OnResultListenerAdapter onResultListenerAdapter =new OnResultListenerAdapter(){
        @Override
        public <T extends Parser> void onSuccess(T resultParser, int resultCode) {
            super.onSuccess(resultParser, resultCode);
            Message message = Message.obtain();
            message.arg1 = resultCode;
            message.obj = resultParser.back;
            handler.sendMessage(message);
        }
    };
}



